In conventional environments for fixed-point algorithm development, a user may have a number of options regarding how the precision of fixed-point numbers is handled for arithmetic operations. These options may be designated as “full precision” and “specify precision.” With the “full precision” option, a computational tool automatically calculates how many digits are needed to retain full precision of the result of the operation and uses a word length that accommodates the number of digits needed to retain full precision of the result of the operation. The minimum word length and radix point of the result of the operation are automatically determined so that no loss of precision or overflow will occur. This level of specification minimizes the need for the user to specify a multitude of changing attributes when emulating calculation of a fixed-point arithmetic operation on a particular machine but often leads to attributes that are not realizable on the emulated machine.
With the “specify precision” option, a word length and radix point for results of fixed-point arithmetic operations are specified by the user. This level of specification typically allows the user to exactly emulate calculation of a fixed-point arithmetic operation on a particular machine, but may place a burden on the user to calculate all attributes, even where the attributes are subject to frequent change.
Unfortunately, conventional environments lack a method for specifying any level of specification between full specification by the user and full precision by the computational tool. Additionally, conventional simulation environments typically lack a method for relieving the burden on the user of specifying all attributes without requiring full precision by a computational tool, which may result in attributes that are not realizable on a given architecture.